package com.ding.es.controller;

import com.ding.es.entity.ESFilm;
import com.ding.es.repository.FilmRepository;
import com.ding.es.service.ESFimlService;
import com.ding.es.service.FimlService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import java.io.IOException;
import java.text.ParseException;
import java.util.List;

/**
 * @author ding
 * @date 2021/8/22 14:58
 */

@Controller
public class IndexController {

    @Autowired
    private FimlService fimlService;

    @Resource
    private FilmRepository filmRepository;

    @Autowired
    private ESFimlService esFimlService;

    @RequestMapping
    public String index() throws ParseException, IOException {
//        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");
//        ArrayList<Film> films = new ArrayList<>();
//
//        Integer start = 1;
//        for (int j = 0; j < 10; j++) {
//            start *= j;
//            Document document = Jsoup.parse(new URL("http://movie.douban.com/top250?start=" + start), 10000);
//            Element fileListElement = document.getElementById("content");
//            Elements lis = fileListElement.getElementsByTag("li");
//
//            for (Element li : lis) {
//                Film film = new Film();
//                //排行
//                String ranking = li.getElementsByTag("em").eq(0).html();
//                film.setRanking(Integer.parseInt(ranking));
//                //电影名称
//                String title = li.getElementsByClass("title").eq(0).html();
//                film.setTitle(title);
//                //详情页连接
//                String href = li.getElementsByTag("a").eq(0).attr("href");
//                film.setHref(href);
//
//                //图片路径
//                String img = li.getElementsByTag("img").eq(0).attr("src");
//                film.setImg(img);
//
//                Elements bd = li.getElementsByClass("bd").eq(0);
//                String text = bd.first().text();
//
//                //主演
//                int i = text.indexOf("...");
//                if (i == -1) {
//                    i = text.indexOf("19");
//                }
//                if (i == -1) {
//                    i = text.indexOf("20");
//                }
//                int begin = text.indexOf("主演:");
//                String actorString = text.substring(begin + 4, i);
//                actorString = actorString.replaceAll("/ ", "");
//                String[] s = actorString.split(" ");
//                List<String> actors = Arrays.asList(s);
//                film.setActors(actors);
//
//                //导演
//                String directors = text.substring(4, begin);
////            directors = directors.replaceAll("/ ", "");
//                film.setDirector(directors);
//                //text=text = 导演: 宫崎骏 Hayao Miyazaki 主演: 日高法子 Noriko Hidaka / 坂本千夏 Ch... 1988 / 日本 / 动画 奇幻 冒险 9.2 1078272人评价 人人心中都有个龙猫，童年就永远不会消失。
//                String html = bd.html();
//                int b = html.indexOf("<br> ");
//                String date = html.substring(b + 5, b + 9);
//                film.setDate(dateFormat.parse(date));
//
//
//                int lastIndexOf = html.lastIndexOf("&nbsp;/&nbsp;");
//                String country = html.substring(b + 22, lastIndexOf);
//                film.setCountry(country);
//
//                String typeString = html.substring(lastIndexOf + 13, html.indexOf(" </p>"));
//                String[] type = typeString.split("  ");
//                List<String> list = Arrays.asList(type);
//                film.setType(list);
//
//                String rating_num = li.getElementsByClass("rating_num").text();
//                film.setScore(rating_num);
//
//
//                String inq = li.getElementsByClass("inq").eq(0).text();
//                film.setContent(inq);
//
//                films.add(film);
//
//
//            }
//        }
//
//        fimlService.insertBatch(films);
//        ArrayList<ESFilm> esFilms = new ArrayList<>();
//        films.forEach((f) -> {
//            ESFilm esFilm = new ESFilm();
//            esFilm.setCountry(Arrays.asList(f.getCountry().split(" ")));
////            esFilm.setType(Arrays.asList(f.getType()));
//            BeanUtils.copyProperties(f,esFilm);
//            esFilms.add(esFilm);
//        });
//        filmRepository.saveAll(esFilms);
        return "index";
    }

    @RequestMapping("search")
    @ResponseBody
    public List<ESFilm> search(String key){
        return esFimlService.search(key);
    }
}
